package com.example.demo.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.example.demo.domain.base.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 购物车与附加项值关联表实体类
 *
 * @author haochen78
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("shopping_cart_addon_relation")
public class ShoppingCartAddonRelationDO extends BaseDO {

    /** 关联购物车表ID */
    private Long cartId;

    /** 商品ID（冗余，优化查询） */
    private Long productId;

    /** 附加项类别ID（必存，解决校验问题） */
    private Long addonOptionId;

    /** 附加项值ID */
    private Long addonValueId;

    /** 附加项类别名称快照 */
    private String addonOptionName;

    /** 附加项值名称快照 */
    private String addonValueName;

    /** 附加项值价格快照 */
    private BigDecimal addonPrice;

    /** 是否业务失效（0-有效，1-失效） */
    private Integer isInvalid;

    /** 失效原因（附加项禁用/商品未关联/附加项删除） */
    private String invalidReason;
    
}